package com.imooc.bilibili.file;

import com.baomidou.mybatisplus.extension.service.IService;
import com.imooc.bilibili.domain.file.File;
import org.springframework.web.multipart.MultipartFile;

import java.io.IOException;

/**
 * <p>
 * 文件表 服务类
 * </p>
 *
 * @author gcq
 * @since 2022-06-04
 */
public interface IFileService extends IService<File> {
    /**
     * 断点续传
     *
     * @param file 文件
     * @param fileMd5 文件md5
     * @param sliceNo 分片
     * @param totalSliceNo 总分片数量
     * @return 上传文件地址
     */
    String uploadFileBySlices(MultipartFile file, String fileMd5, Integer sliceNo, Integer totalSliceNo) throws IOException;

    /**
     * 获取文件的 md5
     *
     * @param file 文件
     * @return md5
     */
    String getFileMd5(MultipartFile file) throws Exception;
}
